package com.aust.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.CONSTRUCTOR})
public @interface MyInfo {
    /**
     * - 注解属性，其实就是接口中的方法，所以通过 `.value()`、`.name()` 这样的方式来获取；
     * - 所有属性值在运行时通过 JVM 自动生成的代理类来提供，**你不能用反射去 getField 获取注解的值**，只能通过调用方法。
     *
     * @return
     */
    String value();
}
